package com.beerq.view_manager;

import android.content.Context;
import android.graphics.Bitmap;
import android.util.Base64;

import com.alibaba.fastjson.JSONObject;
import com.beerq.util.AppConfig;
import com.beerq.util.BasicHttp;
import com.beerq.util.Constants;

import java.io.ByteArrayOutputStream;

import okhttp3.RequestBody;

/**
 * 作者：minj on 2017/10/20 19:59
 * 公共管理类
 */
public class CommonManager {

    /***
     * 图片上传类
     * @param context
     * @param fileName 文件名称
     * @param fileContent 文件的base64编码
     * @param callback
     */
    public static void uploadImage(Context context, String fileName, String fileContent, BasicHttp.IMyCallBack callback){
        JSONObject jsonObject=new JSONObject();
        jsonObject.put("FileName",fileName);
        jsonObject.put("FileContent",fileContent);

//        BasicHttp.getExec(context, Constants.server_domain+"Vip/UpLoadPic?Args="+jsonObject.toJSONString()+"&Timestamp="+ AppConfig.getTimeStamp(),callback,true);


        RequestBody requestBodyPost=AppConfig.getBasicRequestBody(context).add("Args",jsonObject.toJSONString()).build();
//

        BasicHttp.postExec(context,Constants.server_domain+"Vip/UpLoadPic",requestBodyPost,callback);


    }

    /***
     * 修改头像
     * @param context
     * @param fileName 文件名称
     * @param fileContentBase64 文件的base64编码
     * @param  vipId
     * @param callback
     */
    public static void modifyImage(Context context, String fileName, String fileContentBase64, int vipId,BasicHttp.IMyCallBack callback){
        JSONObject jsonObject=new JSONObject();
        jsonObject.put("VipId",vipId);
        jsonObject.put("WxHeadImgBase64",fileContentBase64);
        jsonObject.put("FileName",fileName);

//        BasicHttp.getExec(context, Constants.server_domain+"Vip/UpLoadPic?Args="+jsonObject.toJSONString()+"&Timestamp="+ AppConfig.getTimeStamp(),callback,true);


        RequestBody requestBodyPost=AppConfig.getBasicRequestBody(context).add("Args",jsonObject.toJSONString()).build();
//

        BasicHttp.postExec(context,Constants.server_domain+"Vip/MofifyUserHeadImg",requestBodyPost,callback);


    }

    /**
     * 通过Base32将Bitmap转换成Base64字符串
     * @param bit
     * @param filename 文件名字 主要是通过后缀做图片类型判断
     * @return
     */
    public static String bitmap2StrByBase64(Bitmap bit,String filename){
        ByteArrayOutputStream bos=new ByteArrayOutputStream();
        if(filename.lastIndexOf(".png")>-1){
            bit.compress(Bitmap.CompressFormat.PNG, 100, bos);//参数100表示不压缩
        }else {
            bit.compress(Bitmap.CompressFormat.JPEG, 100, bos);//参数100表示不压缩
        }

        byte[] bytes=bos.toByteArray();

        return Base64.encodeToString(bytes, Base64.NO_WRAP);
    }

}
